﻿using System.ComponentModel.DataAnnotations;

namespace Adams.Admin.DataTransfer.Events.CreateEvent
{
    public class PageLoad
    {
        public int OccuranceID { get; set; }
        public Shared.Entities.Events.Event Event { get; set; }
        public Shared.Entities.Events.Occurance Occurance { get; set; }
        public Shared.Entities.Events.CalendarCollection Calendars { get; set; }
    }

    public class FormInput
    {
        public int OccuranceID { get; set; }

        [Required]
        [Integer]
        public string CalendarID { get; set; }
        
        [Required]
        [StringLength(100)]
        public string Title { get; set; }

        [Required]
        [StringLength(50)]
        public string ShortDescription { get; set; }

        [Required]
        [StringLength(255)]
        public string Location { get; set; }

        public string Description { get; set; }

        [Required]
        [Date]
        public string StartDate { get; set; }

        public string StartDateTime { get; set; }

        [Required]
        [Date]
        public string EndDate { get; set; }

        public string EndDateTime { get; set; }

        [Required]
        [Integer]
        public string TimeZone { get; set; }

        public bool IsAllDay { get; set; }
        
        public bool IsRepeat { get; set; }
        
        public string EditRepeatType { get; set; }
        public string RepeatType { get; set; }
        public string RepeatEndType { get; set; }
        public string RepeatEndOccurences { get; set; }
        public string RepeatEndDate { get; set; }
        public string RepeatEvery { get; set; }
        public string RepeatStartsOn { get; set; }
        public string RepeatWeeklySun { get; set; }
        public string RepeatWeeklyMon { get; set; }
        public string RepeatWeeklyTeu { get; set; }
        public string RepeatWeeklyWed { get; set; }
        public string RepeatWeeklyThu { get; set; }
        public string RepeatWeeklyFri { get; set; }
        public string RepeatWeeklySat { get; set; }
        public string RepeatMonthlyBy { get; set; }
    }

    public class DeleteInput
    {
        public int OccuranceID { get; set; }
        public string StartDate { get; set; }
        public bool IsRepeat { get; set; }
        public string EditRepeatType { get; set; }
    }
}
